home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-07-13 | 6.3 KB | 129 lines | [ttro/ttxt] |
- Floaters for MacApp® 2.0
- version 1.0b1
- © Apple Computer, Inc. 1990
-
- Chris Knepper
- Apple Computer, Inc.
- 408-974-7344
- AppleLink: KNEPPER
-
- To use this package, you must have MacApp 2.0 final, and either MPW 3.1 or THINK Pascal 3.0.1.
-
- Release Notes
- =============
- This package is provided to allow MacApp® 2.0 applications to support tear-off menus
- and floating windows.
-
- Floating windows are a subclass of TFloatWindow. They install themselves in the front
- of the window list. Floating windows are identified by the windowKind field of the
- windowRecord.
-
- Tear-off menus are a subclass of TTearOffMenu. For your menus to get tear-off behavior
- you need to subclass of TTearOffMenu. You can tear-off any TWindow object, including
- a TFloatWindow object.
-
- Note that this package includes UMenu. The version of UMenu provided with this package
- is enhanced from the version of UMenu in the MacApp® 2.0 release.
-
- Many of MacApp 2.0 methods have been modified to support floating windows. E.g. The
- TWindow class has been modified so that new windows install themselves behind the last
- floating window. For this reason, it is necessary to replace certain files from the MacApp 2.0
- release with the files included in this package.
-
- Included with this package is an enhanced DrawShapes providing tear-off menu and floating
- window capabilities. This enhanced DrawShapes should teach you how to use this package.
-
- To learn how to use the UFloatWindow and UTearOffMenu units, look at:
- MDrawShapes.p - to see how to initialize these units;
- DrawShapes.MAMake - to see how to make your application with these units;
- UDrawShapes.p - to see how the classes TToolsMenu & TPatternsMenu implement tear-off menus
- - to see how the classes TToolsPalette & TPatternsPalette implement views
- that are trackable and installable in floating windows and in tear-off menus
- - to see how the trackers TToolSelectCmd & TReshadeCmd are used to track in both
- tear-off menus and in floating windows
-
- Known Bugs and Limitations
- ==========================
- Tear-offs: no known bugs
-
- Floating windows:
- 1. Currently, only template floating window creation is supported (no procedural support yet).
-
- 2. The floating window WDEF drop-shadow needs a 2 pixel inset at top-right and bottom-left.
-
- DrawShapes demo:
- 1. There is a bug with the hiliting of the tools palette so that the current selection is
- sometimes not correctly reflected by the hiliting, and sometimes multiple tools are selected.
-
- 2. There is a bug in the TReshadeCmd when a pattern isn't selected from the floating palette
- (e.g. if the tracker is tracked off the edge and released, or if the mouse is released on
- a border between two patterns).
-
- THINK Pascal users:
- 1. To use this package with THINK Pascal, you will have to build "to disk" and launch from
- the Finder. When running within the THINK Pascal environment, there is a crash when
- quitting the application.
-
- Technical Support
- =================
- AppleLink: MacDTS, MacApp.Tech$
-
- Installation instructions
- =========================
- Copy this package to your hard disk.
-
- For MPW users:
- 1. Replace UMacApp.p in MacApp's PInterfaces folder with the version in this package
- • adds constant kFloatWindowKind
- • adds method PROCEDURE TApplication.ShowHideHiddenWindows
- • adds field fHideOnSuspend to TWindow
- • adds method FUNCTION TWindow.GetBehindWindowPtr: WindowPtr;
- • adds method FUNCTION TWindow.IsHidOnSuspend: BOOLEAN;
- • adds interfaces for IsDialog, IsFloatWindow, GetLastFloatingWindowPtr,
- MAGetActiveWindow, IsDocumentWindow, and MAFrontWindow.
- 2. Replace UMacApp.TWindow.p in MacApp's Libraries folder with the version in this package
- • modifies TWindow.IRes to call GetBehindWindowPtr
- • adds method FUNCTION TWindow.GetBehindWindowPtr: WindowPtr;
- • adds method FUNCTION TWindow.IsHidOnSuspend: BOOLEAN;
- • adds routines for IsDialog, IsFloatWindow, GetLastFloatingWindowPtr,
- MAGetActiveWindow, and IsDocumentWindow
- 3. Replace UMacApp.TApplication.p in MacApp's Libraries folder with the version in this package
- • modifies TApplication.Close so that non-floater windows close before floater windows
- • adds method PROCEDURE TApplication.ShowHideHiddenWindows
- • modifies method TApplication.HandleSystemEvent to call ShowHideHiddenWindows
- • modifies TApplication.MakeClipboardWindow to set fHideOnSuspend to TRUE
- 4. Replace UPatch.inc1.p in MacApp's Libraries folder with the version in this package
- • fixes a bug in UnpatchTrap when unpatching a trap which has been patched multiple times
- 5. Launch MPW and set the directory to the DrawShapes folder provided with this package
- 6. Rebuild the MacApp library for all versions of the library that you use, e.g.:
- MABuild -autobuild -nodebug DrawShapes
- MABuild -autobuild -debug DrawShapes
-
-
- For THINK Pascal users:
- 1. Replace UMacApp.p in ":THINK MacApp:MacApp Source:" with the version in this package
- • adds constant kFloatWindowKind
- • adds field fHideOnSuspend to TWindow
- • adds method FUNCTION TWindow.GetBehindWindowPtr: WindowPtr;
- • adds method FUNCTION TWindow.IsHidOnSuspend: BOOLEAN;
- • adds method PROCEDURE TApplication.ShowHideHiddenWindows
- • adds interfaces and routines for IsDialog, IsFloatWindow, GetLastFloatingWindowPtr,
- MAGetActiveWindow, IsDocumentWindow, and MAFrontWindow.
- 2. Replace UMA.TWindow.p in ":THINK MacApp:MacApp Source:" with the version in this package
- • modifies TWindow.IRes to call GetBehindWindowPtr
- • adds method FUNCTION TWindow.GetBehindWindowPtr: WindowPtr;
- • adds method FUNCTION TWindow.IsHidOnSuspend: BOOLEAN;
- 3. Replace UMA.TApplication.p in ":THINK MacApp:MacApp Source:" with the version in this package
- • modifies TApplication.Close so that non-floater windows close before floater windows
- • adds method PROCEDURE TApplication.ShowHideHiddenWindows
- • modifies method TApplication.HandleSystemEvent to call ShowHideHiddenWindows
- • modifies TApplication.MakeClipboardWindow to set fHideOnSuspend to TRUE
- • fixes an incompatibility between the way that THINK and MPW reserve space on the stack
- for the result of a function call for the methods TApplication.InModalMenuState and
- TApplication.InModalState
- 4. Replace UPatch.p in ":THINK MacApp:MacApp Source:" with the version in this package
- • fixes a bug in UnpatchTrap when unpatching a trap which has been patched multiple times
- 5. Launch THINK Pascal, open either DrawShapes.Build.π or DrawShapes.Debug.Build.π.
- 6. Build the project.
-
-